java对输入的字符串进行处理:把每个单词的首字母变为大写、把数字与字母之间用下划线字符

您所在的位置:网站首页 7 143 单词首字母大写 java对输入的字符串进行处理:把每个单词的首字母变为大写、把数字与字母之间用下划线字符

java对输入的字符串进行处理:把每个单词的首字母变为大写、把数字与字母之间用下划线字符

2023-10-18 02:28| 来源: 网络整理| 查看: 265

题目

本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符_分开,使得更清晰 3. 把单词中间有多个空格的调整为1个空格。 4. 例如: 用户输入: you and me what cpp2005program 则程序输出: You And Me What Cpp_2005_program 用户输入: this is a 99cat 则程序输出: This Is A 99_cat 我们假设:用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。 假设用户输入的串长度不超过200个字符。

在这里插入图片描述

在这里插入图片描述

实现方法一: import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { @SuppressWarnings("resource") public static void main(String args[]){ String str=""; str=(new Scanner(System.in)).nextLine(); String []str1=str.split("[ ]+"); for(int i=0;i int start=m.start(); int end=m.end(); fin+=s.substring(st,start); if(s.charAt(start-1)!=' ')fin+="_"; fin+=m.group(1); if(s.charAt(end)!=' ')fin+="_"; st=end; } if(st Scanner scanner=new Scanner(System.in); String string=scanner.nextLine(); Vectorvector=new Vector(); for (int i = 0; i int index=0; while (index vector.set(index, (char)(vector.elementAt(index)-('a'-'A'))); }else if(vector.elementAt(index-1)==' '&&vector.elementAt(index)==' '){ vector.remove(index); index--; }else if (vector.elementAt(index-1)==' '&&(vector.elementAt(index)>='a'&&vector.elementAt(index) vector.add(index, '_'); index++; }else if((vector.elementAt(index-1)>='a'&&vector.elementAt(index-1)='0'&&vector.elementAt(index) System.out.print(vector.elementAt(i)); } System.out.println(); } catch (ArrayIndexOutOfBoundsException e) { } } } 实现方法三: import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void print(String[] s){ for(int i=0;i Scanner scan = new Scanner(System.in); String s = scan.nextLine(); String[] ss = s.split("[\\s]+"); for(int i=0;i String num = new String(m.group()); String num2 = num; num2 = "_"+num+"_"; // 数字前添加"_" ss[i] = ss[i].replace(num, num2); if(ss[i].startsWith("_")){ // 去头"_" ss[i] = ss[i].substring(1); } if(ss[i].endsWith("_")){ // 去尾"_" ss[i] = ss[i].substring(0,ss[i].length()-1); } } } print(ss); } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3